import java.util.LinkedList;
import java.util.Stack;

public class LinkedListStackAndQueue<T> {
//
//        private LinkedList<T> list = new LinkedList<T>();
//
//        // 入栈操作
//        public void push(T item) {
//            list.push(item);
//        }
//
//        // 出栈操作
//        public T pop() {
//            if (isEmpty()) {
//                throw new IllegalStateException("Stack is empty");
//            }
//            return list.pop();
//        }
//
//        // 获取栈顶元素但不出栈
//        public T peek() {
//            if (isEmpty()) {
//                throw new IllegalStateException("Stack is empty");
//            }
//            return list.peek();
//        }
//
//        // 判断栈是否为空
//        public boolean isEmpty() {
//            return list.isEmpty();
//        }
//
//        // 获取栈的大小
//        public int size() {
//            return list.size();
//        }
//
//        // 清空栈
//        public void clear() {
//            list.clear();
//        }
    public static void main(String[] args) {
        LinkedList<Integer> stack = new LinkedList<>();
        stack.push(1);
        stack.push(2);
        stack.push(3);
        System.out.println(stack.pop());
        stack.peek();
        System.out.println(stack.pop());

        LinkedList<Integer> queue = new LinkedList<>();
        queue.addLast(1);
        queue.addLast(2);
        queue.addLast(3);
        System.out.println(queue.pollFirst());
        System.out.println(queue.peekFirst());
        System.out.println(queue.pollFirst());
    }


    }



